// src/types/project.ts

/** 树形节点基础类型 */
export interface TreeNode {
  id: number
  label: string
  pid: number | null // 父节点ID（null表示根节点）
  level: number // 层级深度（1开始）
}

/** 页面导航项类型 */
export interface NodePage {
  name: string // 路由名称或标识符
  label: string // 显示名称
}

/** 工程量清单项目类型 */
export interface BqItem {
  code: string // 项目编码
  name: string // 项目名称
  unit: string // 计量单位
  quantity: number // 数量
  price: number // 单价
  subtotal: number // 合价（quantity * price）
  workContent: string // 工作内容描述
}

export interface Resource {
  id: number
  bqItemId: number
  code: string
  name: string
  unit: string
  quantity: number
  rate: number
  total: number
  workContent: string
}

/** 整个项目的核心数据类型 */
export interface ProjectData {
  treeNode: TreeNode[] // 树形结构数据
  nodePage: NodePage[] // 页面导航配置
  bqItem: BqItem[] // 工程量清单
  resource: Resource[] // 材料清单
}

/** 扩展树节点类型（用于前端渲染） */
export interface EnhancedTreeNode extends TreeNode {
  children?: EnhancedTreeNode[] // 子节点（前端构建树形结构时使用）
  isLeaf?: boolean // 是否叶节点（可选优化字段）
}
